package sk.robocup.dvanastyhrac.tactics;

import robocup.component.tactics.PassState;
import robocup.component.tactics.StateEvaluation;
import sk.robocup.dvanastyhrac.actionfactories.SayActionFactory12;

/**
 * Tento stav robi to iste ako PassState od dainamite ale este k tomu pri nahravani
 * hrac zakrici ze kam nahrava.
 *
 * Created on 17.3.2009 at 16:52:03
 * @author gpan
 */
public class PassStateWithSay12 extends PassState {

    /**
     * Staf ktory rozhoduje ci sa oplati nahravat a ked sa rozhodne ze sa oplati
     * a ide sa nahrat, tak sa zakrici ze kam.
     * 
     * @param parent Evaluator ktory vyhodnocuje prinos taktik.
     */
    public PassStateWithSay12(StateEvaluation parent) {
        super(parent);
        this.state = STATES.PASS;
    }

    /**
     * vypocita hlavnu akciu - nahravku nejakemu hracovi ak je mozna
     */
    @Override
    public void calculateMainAction() {
        mainAction = this.getProphet().getPassAction();
    }

    /**
     * vytvori spravu o nahravke ktora sa posle pri vykonani tohoto stavu
     */
    @Override
    public void calculateSayAction() {
        sayAction = SayActionFactory12.getPassSayAction(this.getWorld(), this.getProphet().getResultingPassBall());
    }
}
